var User = require('../models/user.js')

//get方式转到signin的路由
exports.signin = function(req,res){

	res.render('signin',{title:'登录页',user:''})
}

//从singup页面跳转到signin的路由
exports.forwardSignin = function(req,res){
	var user = req.body.user

	res.render('signin',{title:'登录页',user:user})
}

//get到注册页
exports.signup = function(req,res){

	res.render('signup',{title:'注册页'})
}

//检验邮箱是否被注册
exports.verifyEmail = function(req,res){

	var email = req.body.email

	if(email){

		User.findByEmail(email,function(err,user){

			if(err){
				console.log(err)
			}


			if(user){
				//状态1表示数据正常，返回regist为ture表示邮箱已被注册
				res.json({status:1,regist:true})

			}else{
				//状态1表示数据正常，返回regist为false表示邮箱未被注册
				res.json({status:1,regist:false})
			}



		})


	}else{
		//错误状态码，这里先不做处理
		res.json({status:-1,err:err})

	}
}


//保存用户至数据库
exports.saveUser = function(req,res){

	var user =  req.body.user

	var _user = new User(user)

	_user.save(function(err){

		if(err){
			//当有错误时，返回状态为-1
			res.json({status:-1,err:err})
		}

		//当存储成功时，返回状态为1
		res.json({status:1})
	})
}


//检验登录验证
exports.verifySigin = function(req,res){

	var _user = req.body.user

	User.findByEmail(_user.email,function(err,user){

		if(err){

			console.log(err)
			//返回-1表示数据不正确
			return res.json({status:-1})
		}

		if(!user){

			res.json({status:1,email:false})
		}else{

			user.comparePassword(_user.password,function(err,isMatch){
				
				if(err){

					res.json({status:-1,err:err})
				}

				if(!isMatch){

					res.json({status:1,email:true,password:false})
				}

				else{
					req.session.USER = user
					res.json({status:1,email:true,password:true})
				}


			})

		}
	})

}

//登出当前用户
exports.logout = function(req,res){


	req.session.USER = null
	res.redirect('/index')


}

//登录限制,若未登录不能做某些事

exports.checkLogin = function(req,res,next){

	if(!req.session.USER){

		res.redirect('/index')
	}else{

		next()
	}
}

//未登录限制，若登录不能做某些事

exports.checkNoLogin = function(req,res,next){

	if(req.session.USER){

		res.redirect('/index')
	}else{

		next()
	}
}